% NOIP2016 Junior T4 % input int: n; int: m; array[1..m] of 1..n: X; % description array[1..m,1..4] of var int: ans; int: max_num=m*(m-1)*(m-2)*(m-3) div (4*3*2*1); array[1..max_num,1..4] of var 1..m: magic; var 0..max_num: num; constraint forall(i,j in 1..num where i!=j)(not(forall(k in 1..4)(magic[i,k]=magic[j,k]))); constraint forall(i in 1..num)(forall(j in 1..3)(X[magic[i,j]]